# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Grapple Dog Template

game: Grapple Dog
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    Grapple Dog: 1.2.0 # Version of the world required for this yaml to work as expected.

Grapple Dog:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  boomerang_score_one:
    # What score is needed for Boomerang Bandit check 1. (0 disables the check)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 999999
    10000: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-999999: 0 # random value between 0 and 999999

  boomerang_score_two:
    # What score is needed for Boomerang Bandit check 2. (0 disables the check)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 999999
    20000: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-999999: 0 # random value between 0 and 999999

  boomerang_score_three:
    # What score is needed for Boomerang Bandit check 3. (0 disables the check)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 999999
    30000: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-999999: 0 # random value between 0 and 999999

  #########
  # Goals #
  #########
  goal:
    # How to win the game
    defeat_nul: 50

  randomise_gadgets:
    # Whether to add gadgets to the item pool vs beating bosses
    'false': 50
    'true': 0

  level_progression:
    # WIP: Not Yet Implemented
    fully_random: 50

  starting_levels:
    # How many levels are available at the start of the game
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 56
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-56: 0 # random value between 0 and 56

  #############
  # Abilities #
  #############
  start_with_hook:
    # Whether you start with the hook
    'false': 0
    'true': 50

  movement_rando:
    # Whether movement abilities start locked
    'false': 50
    'true': 0

  starting_health:
    # How much health you start with.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 8
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-8: 0 # random value between 1 and 8

  max_health:
    # How much health you start with.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 8
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-8: 0 # random value between 1 and 8

  ##########
  # Checks #
  ##########
  check_banking:
    # When do checks get sent
    instant: 50

  minimum_gems_in_pool:
    # How much health you start with.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 200
    190: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-200: 0 # random value between 0 and 200

  remaining_gem_usefulness:
    # WIP: Not Yet Implemented   
    # What percentage of the remaining gems will be marked as useful as opposed to filler
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    40: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  fruit_gem_one_target:
    # How many fruit you need to get the first fruit gem
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 150
    110: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-150: 0 # random value between 1 and 150

  fruit_gem_two_target:
    # How many fruit you need to get the second fruit gem
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 250
    220: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-250: 0 # random value between 1 and 250

  npc_sanity:
    # WIP: Checks for chatting with NPCs
    'false': 50
    'true': 0

  speedrunner_choice_multiplier:
    # How many times more levels are required for each speedrun gold medals goal to be in logic
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 3
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-3: 0 # random value between 0 and 3

  speedrunner_count_one:
    # How many speedrun gold medals are required for the Speedrun Gold Medals: Goal 1 check. (0 disables the check)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 11
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-11: 0 # random value between 0 and 11

  speedrunner_count_two:
    # How many speedrun gold medals are required for the Speedrun Gold Medals: Goal 2 check. (0 disables the check)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 22
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-22: 0 # random value between 0 and 22

  speedrunner_count_three:
    # How many speedrun gold medals are required for the Speedrun Gold Medals: Goal 3 check. (0 disables the check)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 33
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-33: 0 # random value between 0 and 33

  ##########
  # Bosses #
  ##########
  boss_level_unlock:
    # How you unlock boss levels
    gems: 0
    gems_and_level: 50
    level: 0

  gems_for_boss_one:
    # How many gems are needed to play level 1-B
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 200
    25: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-200: 0 # random value between 0 and 200

  gems_for_boss_two:
    # How many gems are needed to play level 2-B
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 200
    40: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-200: 0 # random value between 0 and 200

  gems_for_boss_three:
    # How many gems are needed to play level 3-B
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 200
    80: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-200: 0 # random value between 0 and 200

  gems_for_boss_four:
    # How many gems are needed to play level 4-B
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 200
    120: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-200: 0 # random value between 0 and 200

  gems_for_boss_five:
    # How many gems are needed to play level 5-B
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 200
    190: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-200: 0 # random value between 0 and 200

  require_gadgets_for_final_boss:
    # Whether the 4 gadgets are required to play level 5-B
    'false': 0
    'true': 50

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
